SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [spControlFichasocioeconomica]


@alumno int,
@CaracteristicaPsicoPedag int,
@Valor varchar(10),
@ValorCBO int,
@Observaciones varchar(250),
@FechaRegistro varchar(10),
@Responsable varchar(50),
@RegistroVigente varchar(1),
@FechaFinVigencia Varchar(10),

-- Parametro para especifica que operacion es A=Alta, B=Baja, M=Modificacion
@ABM int
AS

--SET @Mnemo = RTRIM(LTRIM(@Mnemo))

--declare @Falta datetime
--Select @Falta = cast(@FechaAlta as datetime)
--if (@FechaBaja <> 'null') begin
--declare @FBaja datetime
--Select @FBaja = cast(@FechaBaja as datetime)
--end


if exists (Select * from tb_FichaPsicoPedagogica where Alumno = @alumno and CaracteristicaPsicoPedag = @CaracteristicaPsicoPedag) begin
set @ABM = 3
end
else begin
set @ABM = 1
end

if @ABM = 1 begin
BEGIN TRANSACTION
INSERT INTO tb_FichaPsicoPedagogica (Alumno,caracteristicaPsicoPedag,Valor,ValorCBO,Observaciones, FechaRegistro,Responsable,RegistroVigente,FechaFinVigencia)
VALUES (@Alumno,@caracteristicaPsicoPedag,@Valor,@ValorCBO,@Observaciones,@FechaRegistro,@Responsable,@RegistroVigente,@FechaFinVigencia)

declare @idfichapsicop int 
Select @idfichapsicop =  @@identity


if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRANSACTION
end

if @ABM = 3 begin
BEGIN TRANSACTION
UPDATE tb_FichaPsicoPedagogica 
SET Valor = @Valor,ValorCBO = @ValorCBO,Observaciones = @Observaciones, FechaRegistro = @FechaRegistro,Responsable = @Responsable, RegistroVigente = @RegistroVigente,FechaFinVigencia = @FechafinVigencia
WHERE Alumno = @alumno and CaracteristicaPsicoPedag = @caracteristicaPsicoPedag

if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRAN
end

if @ABM = 2 begin
BEGIN TRANSACTION
DELETE tb_FichaPsicoPedagogica FROM  tb_FichaPsicoPedagogica WHERE Alumno=@Alumno and CaracteristicaPsicoPedag = @caracteristicaPsicoPedag

if @@error = 0
	COMMIT TRAN
else
	ROLLBACK TRAN

end
GO
